package top.infopub.job.fia.dao;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import top.infopub.generic.GenericDao;
import top.infopub.job.fia.domain.BudgetSumDomain;
import top.infopub.model.fia.Budget;
import top.infopub.model.fia.BudgetSummary;
import top.infopub.model.fia.BudgetTask;

import java.util.List;

/** 预算管理(FIA_BUDGET) **/
@Repository
public interface BudgetDao extends GenericDao<Budget, String> {
    /**
     * 根据id统计预算管理数据
     * @param id
     * @return
     */
    BudgetSumDomain queryBudgetSumById(@Param("id") String id);

    /**
     * 查询待处理的列表
     * @param status 状态，0=待处理，1=已处理
     * @return
     */
    List<BudgetTask> queryBudgetTaskList(@Param("status") String status);

    /**
     * 更新预算管理任务表状态
     * @param status
     * @param id
     * @return
     */
    int updateBudgetTaskStatus(@Param("status") String status, @Param("id") String id);

    /**
     * 新增汇总记录
     * @param budgetSummary
     * @return
     */
    int insertBudgetSummary(BudgetSummary budgetSummary);

    /**
     * 更新汇总记录
     * @param budgetSummary
     * @return
     */
    int updateBudgetSummary(BudgetSummary budgetSummary);

    /**
     * 根据所属公司和预算年份查询汇总记录
     * @param hrOrgId
     * @param budgetYear
     * @return
     */
    BudgetSummary queryByOrgIdAndBelongDate(@Param("hrOrgId") String hrOrgId, @Param("budgetYear") String budgetYear);
}